home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -----------------------------------------
- SCHEDULE OPTIMIZER v1.1
- by
- Noel Llopis
- -----------------------------------------
- (c) NLL SOFT - 1993
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- INTRODUCTION.
-
- So what's this SCHEDULE OPTIMIZER all about? Is it going
- to solve all your problems and give you your long dreamed
- schedule? No, it is not. It is going to help you a great deal
- if you are debating about what classes to take or how to make
- them fit in your schedule the best way possible. Instead of
- spending hours and hours trying different combinations hoping
- to get that other class to fit (as I certainly did!), just
- enter them in SCHEDULE OPTIMIZER and let the program show you
- all possibilities, and then pick the best schedule exactly the
- way you would want it. How is that possible that a "dumb"
- machine is going to make a "smart" choice for you? Just... read
- the book, OK?
-
- A couple things on this version of the program,
- the second release. As it is right now I have concentrated all
- my efforts in the inner workings of the program: the algorithms
- to calculate all possible combinations, to pick the best
- schedule, etc. The user interface and the presentation on the
- screen could have been better, but I needed to have a working
- version of this program to put my Spring '93 schedule together.
- Now that I have it I will start working on a "windowed"
- environment (possibly with Turbo Vision) with mouse support and
- all that neat stuff. So I'd say that version 2.00 of this
- program should be ready in a couple months or so. Versions 1.XX
- are just in case there are any bugs that need correction... and
- talking about bugs, to make the debugging process faster I will
- offer a free registered version of this program to the first
- person that reports any bug in the program (that is, a bug that
- hasn't been reported before). So if you find any, contact me as
- soon as possible.
-
- This program was designed with the UMASS class scheduling
- system in mind, but I left if general enough so it can be used
- for any other university... or almost for any other thing with
- a schedule involved in it. Maybe there are some options that
- would come very helpfull for other class systems. If so,
- please, don't hesitate to send some feedback so I will be able
- to improve it for future versions.
-
- And finally a word about Shareware (is there really
- anybody that still doesn't know what Shareware is?). This
- program is Shareware. You can copy and give this program freely
- (we are talking about the UNREGISTERED version) and try it for
- as long as you want, but if you want the REGISTERED version
- (=fully working version) you will have to pay a small fee and I
- will send it to you. Both versions are almost identical, the
- only differences being that in the unregistered version you
- can't save the classes and you can't compute the best schedule.
- So if after what you see here you think you might seriously
- want to use this program, I would urge you to register it. By
- registering it you will not only get the fully functional
- version, but you will have the right to technical support, you
- will be included in our mailing list and you will periodically
- receive the new releases from NLL SOFT. By the way, that
- REGISTERED version will NOT be Shareware, and any copies you
- make of it will be illegal (and they will have you name and
- address in it... so you have interest as not to let anybody
- "accidentally" get a copy of it |) But enough of that, just
- make sure to read the FORM.DOC if you are interested in getting
- the full version of the program.
-
- That's about all I had to say for the introduction. The
- rest of this file will be a quick description of all the
- options in the program and tips on how to get most out of
- SCHEDULE OPTIMIZER v1.1. This manual, again, might be a bit
- short, but time is pressing. I will try to improve all this by
- the second version. In the meantime, for any comments,
- questions, or suggestions you can contact me at any of
- the addresses below. I really hope you find this program
- as usefull as I did.
-
- Thanks to Holly Ordway for testing the program and helping me
- solve some 'technical difficulties'.
-
-
-
-
-
- NLL SOFT
- 606-B Brown. UMASS
- Amherst, MA 01003
-
- (413) 546 1143
-
- or on the internet (I check my mail several times a day!):
-
- nllopis@umass.ecs.edu
-
-
- Noel Llopis
- NLL SOFT - 1993
-
-
-
-
-
-
-
-
- MAIN MENU.
-
- This is almost just like any plain old database. The
- actual number of classes in memory is displayed just above the
- main menu.
-
- The options you have are:
-
- [1]. Enter a new class. Simply asks you for the data for a
- new class entry. The format of any entry is best
- described with an example:
-
- Departament and number : CHEM112
- Class description : General Chemistry II
- Number of credits : 4
- Class this one must go with :
- Is this a class you must include in your final
- schedule (Y/N)? Y
- 1.
- Section : 1
- Starting time : 9:05AM
- Ending time : 9:55AM
- Days of the week : MWF
- Schedule # : 114374
- 2.
- .
- .
- .
-
- Whenever you are done entering the different times
- a class is offered at, simply leave the section number
- blank. That will return you to the main menu and will add
- the class to the database.
- When you are asked for the "class this one must go with",
- you have to enter the class department and number the way you
- did before, if this class must be taken together with some
- other. The reason for this option is in case you have two classes
- (say a lecture and a lab) that must be taken together or not at
- all. If you simply put them both down and they are optional, the
- program might choose either one of them, not necesserely both at
- the time. Remember that you only refer to a class you entered
- before, not at some class you are going to add later.
- The question "Is this a class you must include in
- your final schedule?" is made to distinguish between the
- classes you have to take and the optional classes; this
- way you might include 4 classes you must take and 5
- classes you would like to take, and the computer will find
- for you which ones of those 5 classes will make a better
- schedule... but more of that later, in the section on
- CALCULATE BEST SCHEDULE and HOW TO GET MOST OF SCHEDOP
- v1.1.
-
- [2]. Modify a class. The first thing this will show you is
- a list of all the classes in memory at the moment, and
- will allow you to enter the number of the class you want
- to edit (you can press + or - to see more pages of
- classes... but if you have that many you are really going
- to have fun when you try to get the best schedule!).
- Once you have chosen which class you want to edit,
- you will be asked to edit each one of the fields of the
- class entry. It will be the same as when you enter a new
- class, but this time the previous values of the class you
- are editing will show as the default values, so if you
- don't want to change most of them simply press RETURN and
- nothing will change.
- It is important to note that if you set the section
- number of a certain time blank and press return, that
- section and all the ones following will be deleted. Again,
- as soon as you enter a blank section number the editing
- will be done and you will be back to the list of all the
- classes.
-
- [3]. Delete a class. You will be shown the already
- falmiliar list of all the classes in memory at the moment.
- To delete one simply enter its number. Use this feature
- with caution since there is no recovery option (unless you
- saved it before).
-
- [4]. List all classes. Again the list of all classes will
- appear on the screen. To get more information on any of
- the classes just enter its number and all the data you
- previously entered will be displayed (description,
- credits, times offered, etc).
-
- [5]. Files. This will bring up the directory of the
- classes previously saved and a menu with options. The
- directory consists of the description of 10 files. If some
- of the files have not been yet saved, a line with dots
- will appear instead.
- The options in this file menu are very straight
- forward:
- [1]. Restore. This will restore the data saved in one
- of the 10 files. You will be asked which one you wish
- to restore. If you leave it blank or enter an
- incorrect number the operation will be cancelled.
-
- [2]. Save. With this you will be able to save any
- changes or new classes you have entered. You can use
- any of the 10 slots to save it. You will be asked for
- a description of the information you are saving (that
- will show up in the directory for future reference).
- If you save it on top of an already used slot, the
- actual description will be the default. Again, a
- blank description or ESC will cancel the operation.
- ** NOTE ** : This option is only available in the
- REGISTERED VERSION.
-
- [0]. Back to main menu. Need an explanation for this?
-
- [*]. Process schedule. This is what SCHEDULE OPTIMIZER
- really is. Read the next section for full explanation.
-
- [0]. Exit program. It will exit to DOS. If you have made
- any changes since save/restore you will be prompted if you
- really want to quit the program.
- Note that here, as it will be the tendency all
- throughout the program, 0 will always get you back to the
- previous menu (or, in this case exit to DOS).
-
-
-
- SCHEDULE PROCESSING CENTER.
-
- This is the hard core of the program. So far it has been
- like a simple database; this is where the real power of SCHEDOP
- starts.
- Now it will follow a description of all the options in
- this part. It is intenteded to be most of a reference manual
- than a tutorial on how to use it. For an explanation on how to
- optimize your schedule (in the case you can't figure it out
- yourself from the menus), read the next section.
-
- [1]. Show all possible compatible schedules. It's exactly
- what it says. With the classes actually loaded in memory,
- the computer will try to make all possible combinations of
- the classes (trying all the different times). All
- combinations with no conflicts will be reported.
- If you have some classes marked as optional, all
- combinations with and WITHOUT them will also be reported.
- All those schedule combinations will be the ones to
- evaluate later to find the best schedule of all.
- Once the calculation is done it will report how many
- possible schedules where found and it will display them in
- the output device (could be on the screen, printer or a
- text file). It can show them in text or "graphic"
- representation, but more of this under [4]. Settings.
- Since calculating all the schedules is a time
- consuming process (depends a lot on how many classes you
- have), it will only be calculated once, displaying the
- classes inmediately the second time you try this option.
- Obviously, the preferences you defined will not affect
- this at all. All schedules that do not have a time conflict
- will be reported.
-
- [2]. Show best possbile schedule. Also doesn't need much
- explanation, it will calculate the best schedule based on
- your preferences. Once it has found the best schedules (is
- quite possible that several schedules scored the same),
- they will be shown on the output device in the same way as
- before.
- This is even a slower process than calculating all
- combinations, and the more possible schedules, the longer
- it will take. Don't think the computer "froze up" or
- anything, if there are still little dots being printed on
- the screen... you are all set, just be a little patient.
- Again, as with the previous option, it will only need to
- calculate it once (luckyly!), showing the best schedules
- right away after the first time. It will have to
- recalculate everything if you change the preferences or
- exit to the main menu, though.
- ** NOTE **: This option will only be available in the
- REGISTERED VERSION.
-
- [3]. Define schedule characteristics. From here you will
- be able to "tell" the computer how your ideal schedule
- would be. For this you will be shown the actual
- preferences and given the options to modify them, restore
- or save them. Whenever you save the preferences, they will
- be the default next time you run the program.
- The different characteristics you can change to fit
- your likes are:
- - Optimum number of credits.
- - Importance of having that exact number of credits.*
- - Importance of having less credits.*
- - Importance of having more credits.*
- - Importance of having a compact schedule (with not many
- "wholes" in between classes that is).*
- - Importance of an evenly distribution of classes - having
- the same number of hours every day.*
- - Preferred days to have more hours.
- - Preferred days to have less hours.
- - Optimum time to start classes.
- - Importance of starting at that time.*
- - Importance of starting before that time.*
- - Importance of starting after.*
- - End classes as soon as possible.
- - Optimum time to end classes.
- - Importance of ending classes at that time.*
- - Importance of ending before that time.*
- - Importance of ending after that time.*
- - Take weekends into account when doing calculations.
- - Times at which you prefer not to have classes and
- importance of each of those times.
-
- If you decide to modify the current preferences you
- will be asked every single one of these questions. The
- current values will be shown as the default ones.
- The characteristics marked with an asterisk (*) above
- are rating characteristics. That is, it's not an amount, a
- time or a day they are asking you, but a rating. By that
- you have to answer "how much would you like...?" And give
- it a rating from 0 to 10. The rating scale could be
- something like:
- 10 - YES! I would love that.
- 9 - Yes, it would be very good.
- 8 - That'd be cool.
- 7 - I guess that'd be OK.
- 6 - Hmmm.. I guess so.
- 5 - I really don't give a damn about that.
- 4 - Naaahh, why bother with that.
- 3 - I think I rather not.
- 2 - Nope, I don't like that much.
- 1 - No, that's really bad.
- 0 - NO WAY I'M GOING TO DO THAT!!!
-
- For the rest of the questions just answer whatever
- they ask you to as trully as you can. Then those
- preferences you have entered will be taken into account to
- decide which one of all the possible schedules is most
- likely to fit all your needs.
-
-
-
-
- [4]. Settings. This will bring another menu from which you
- can decide how you want the output to be, and where you
- want it outputted to.
-
- [1]. Mode: Normal/Graphic/Both. Pressing this key you
- will switch between the three representation modes.
- The one selected at the moment is the one with the
- square brakets around.
- - In normal mode the list of the possible or best
- schedules will be shown as the list of the classes
- with the time, days and section number.
- - In graphic mode the list will be a graphical
- representation of the schedules as it would be drawn
- in a piece of paper, with the days of the week, the
- times, and the classes in the little boxes. If a
- class occupies more than one box its name will appear
- in the following box (that doesn't mean you have the
- same class twice in a row, but that the class is two
- boxes long!).
- - In "both" mode, both representations will be shown,
- one after the other for every schedule.
-
- [2]. Output: Screen/Printer/File. Again, pressing
- that key will switch between the three options. This
- is the output device the schedules are going to be
- sent to (in any mode). If the screen is selected...
- (hmm.. I wonder what is going to happen!). If "file"
- is selected, after the computer is done computing the
- schedules you will be asked for a file name to output
- the information to. A word of caution about the
- printer: it will detect if the printer is on line
- whenever it is going to START printing the output.
- Once it is started, if you turn the printer off it
- might give a runtime error (yes, remember, it was
- written in Pascal). So just be a little carefull.
- Also... I think it might only do LPT1 for the printer
- port, that will be something to work on for version
- 2.xx.
-
- [3]. Screen mode: BW80x25/80x25/80x43/80x50. This is
- the screen mode when the graphical representation of
- the schedule is shown on the screen. Usually the mode
- 80x50 will give you the best results - you can see
- the most hours and more clearly spaced -, but it
- requires an EGA or VGA card. If you don't have one
- you won't even be able to select the two last
- options, being your best mode the second one,
- (default) 80x25. The first mode, BW80x25, is the same
- as 80x25 but in black and white only. Is not that it
- makes much difference right now, but it might in
- later versions.
-
- [4]. Graphic schedule start and end. Those are the
- times to start and end drawing the graphical
- representation of the schedule. The ideal would be to
- have all the hours there, but what are all the hours?
- The 24 hours? Somebody might only want to have it
- from 9AM to 5PM for instance, or other people with
- night classes might prefer to have it go from 4PM to
- 10PM.
- Once you have selected those times the schedule
- will be scaled to occupy the most screen as possible
- to show all the details.
-
- [0]. Back, back. 0 will always get you back!
-
- [0]. Back to main menu. Here remember that whenver you go
- back to the main menu and then return to the processing
- center, all calculations of possible and best schedules
- will have to be computed again.
-
- And that's all for the description of the options of the
- program. Now I would urge you to read the next section,
- possibly the most important one, before making your final
- decision on the schedule for next semester.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- HOW TO GET MOST OUT OF SCHEDOP v1.1.
-
- To make good use out of SCHEDULE OPTIMIZER v1.1 is very
- important to realize a few things. Don't simply enter in all
- the classes you want and ask for the best schedule, it might
- turn out there's one you like better. I guess a section on
- frequently asked questions would be the best thing to do now,
- but since this is the first release I haven't had any "real"
- questions yet (keep them coming though, OK?). So I will point
- out a few tips that might be handy to keep in mind while you
- are using SCHEDOP.
-
- - The "best" computer generated schedule might not be the
- "best" (!!). If this is true, why all this program? I
- should explain that in a little more detail. What I mean
- is that the computer will blindly take the preferences you
- defined, take each one of the possible schedules and give
- them a score accordingly. The one(s) with the best score
- will be reported as the "best" ones. And that will always
- be true. Why then shouldn't we trust it right off hand?
- Because of.. human error - as our friend Hal 9000 would
- say. When you entered a 7 in the rating for a compact
- schedule it was translated as "multiply the compactness
- score by 0.5", while you might have meant to give this
- score a little more importance than that.
- What to do then? First go ahead, fill the preferences
- as well as you can, thinking them over and making sure
- that's what you really want. Then get the best schedule.
- If you like it a lot, hey, great, that's what you were
- looking for. If you don't like that much, there might be
- still a better one. Go back over the preferenes and give a
- little more importance to that factor that you didn't
- quite get in this last schedule (if there were lots of
- "holes", give a little more to the compact schedule
- score). Then try again and see if you get anything
- different. In other words, experiment with it a bit.
- If still that fails you can always go through all the
- possible schedules and see if you like one of them better.
- Sometimes it is impossible to make things fit the way you
- like them! If you only have a few classes this might look
- like a good solution, but as soon as you have a few more,
- offered quite a few different times and especially if they
- are optional, then you are going to have a really fun time
- going through the thousands of possible combinations. Use
- this as last ressource!
-
- - Keep several different classes saved. It has proven to
- me very usefull to have like 3 different files saved and
- work with them. In one you might include the classes you
- have to take, and in the others those classes plus groups
- of classes you would like to take. That's much easier than
- going through the old files adding and deleting classes.
-
-
- - Is it too slow? It might be quite slow, specially if you
- are using an old 8088-86. If you have a 386 or more...
- just skit this section, you don't need it.
- What slows this program the most is having lots of
- data to process. This happens when there are lots of
- classes (although people usually take no more than 10 at a
- time), lots of different times the classes are offered at
- or having lots of alternative classes.
- A class with a lot of different alternative times is
- a real slow down for the program. Just have a look at this
- semester's schedule book (for the UMMies that is) and look
- at ENGLWP112. 68 different lectures!! That would take
- almost as long to process as to type it into the database.
- The way around that is to simply not include that class in
- the calculations, and once you have a good schedule worked
- out, since it is offered that many times, you should be
- able to easily fit it in just by looking at the times
- offered. Just remember, when you answer the question
- "optimum number of credits", to subtract the number of
- credits of the class you will add later on.
- What about lots of optional classes? That really
- slows it down too. To give you an idea, the classes I
- planned to have resulted in 72 different possible
- schedules. When I changed two of the classes to optional
- and added a couple more optional, the possible schedules
- skyrocketed up to 576! Moral: keep the number of optional
- classes down. No, seriously, what you might do instead is
- to have several different files, each one containing all
- non-optional classes and then comparing the best schedule
- of each among each other and decide which one is best.
- If there are enough requests I might include an
- executable file in the next version with 286 code which
- would make it run even faster on 286 machines or higher.
- For the moment I would like to keep compatible with all
- PC's (I will still include an executable for the 8088 out
- there... don't worry!).
-
-
- And this should do it. If you have read this manual you
- should be able to use SCHEDULE OPTIMIZER v1.1 to its full
- capacity. Enjoy the program and send your comments to make
- better future releases.
-
-
-
-
-
-
-
-
-
-
- (c) NLL SOFT - 1993
-